草庐IT

Linux 设备

全部标签

windows - 从 Windows 移植到 Linux

我有一个在Windows上用Lazarus编写的项目,但我想在我的Windows计算机上为Linux交叉编译它。我该怎么做? 最佳答案 不幸的是,现在(很容易)不可能朝这个方向交叉编译——与otherwayaround相反.你最好的选择是设置VMWare或者另一个安装了Linux的虚拟机,并在那里编译它。 关于windows-从Windows移植到Linux,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

windows - 是否存在可以编译可在 linux windows 中运行的 native 可执行文件的跨平台编译器?它可能存在吗?

我记得几年前(2002年)有一种多方病毒可以在linux和windows上本地运行。我不知道编译器是否可以专门制作一个可执行文件,以便它可以同时作为ELF和PE读取,以便操作系统在不同的入口点开始执行。或者一个程序可以将两个程序合并为一个程序,一个使用mingw编译,一个使用原生linux编译。我不知道这样的程序是否存在,或者是否可能存在,我知道这可以用Java或某种脚本语言实现,但这不是native程序。想象一下这种可能性,我可以部署一个带有linux和window(也许还有os/x)库的程序,以及一个可以在任何操作系统上运行的主要可执行文件。跨平台支持将补偿更大的尺寸。

windows - linux 需要 'rubygems' 但 windows 不需要。为什么?我可以解决这个问题吗?

我正在设置Linux开发环境。安装Ruby和RubyGems后,我很快发现我需要require'rubygems'才能使用gems,而在WindowsVista中不需要这样做。我能做些什么来解决这个问题吗?我应该为此担心吗? 最佳答案 您可能希望默认包含rubygems(特别是因为Ruby1.9现在默认包含)。编辑您的.bash_profile或等效文件并添加exportRUBYOPT=rubygems 关于windows-linux需要'rubygems'但windows不需要。为什么

.net - 由 C# 中的 Windows 服务托管的 COM+ 组件,用于控制外部设备

我有一个用C#编写的Windows服务,它控制通过RS232连接到计算机的设备(收集数据并允许控制设备)。它被命名为DeviceService并且工作正常。现在其他应用程序通过WCF服务使用它。但现在我需要将一些功能公开为COM+组件,以便C++中的应用程序可以与此Windows服务通信(并从中获取实时数据)。(我知道可能有更好的方法来做到这一点,但这是无法更改的要求。它必须通过COM+)。问题是:当我在DeviceService中创建这样一个组件并在客户端激活它时,它看不到任何数据。例如:对于同一程序集中定义的组件,Windows服务(DeviceService)中的静态变量返回nu

windows - 在设备管理器中重置设备

我正在寻找一个关于如何重启任何允许在设备管理器中启用/禁用的设备的编程API,例如音频设备和网络适配器 最佳答案 您将不得不使用SetupApi/ConfigManagerAPI.但请注意,在x64下,您的应用程序。必须也是x64才能启用/禁用设备(所以你现在不能直接在Delphi中执行此操作-首先我认为这是x64下x86-app的文件/注册表重定向的问题,但它没有帮助)。设备枚举工作正常。在MSDN上的一篇文章中有一些关于它的内容,但我现在找不到它。我制作了FP/Lazarusx64应用程序以在x64操作系统下启用/禁用设备。您可

c++ - 查明 DirectInput 设备是否支持 XInput(使用 mingw/gcc)

我正在开发一个输入系统,包装DirectInput和XInput。目前XInput设备被枚举两次,一次作为XInput,一次作为DirectInput(因为它们都支持)。如何确定给定的DirectInput设备是否也支持XInput?有thisMSDNpage关于这个主题,但它需要wbemidl.h和wmsstd.h,它们在mingw/gcc中不可用(并且出于某种原因我想避免使用msvc-可能是出于习惯)。我不认为将设备名称/guid列入黑名单是一个好的解决方案,但有更好的解决方案吗?谢谢。 最佳答案 wbemidl.h和所有相关的

windows - 遍历 WDM 设备堆栈

据我所知,只能从下往上迭代WDM设备的设备堆栈,因为DEVICE_OBJECT有一个AttachedDevice成员(但没有LowerDevice成员)。幸运的是,AddDevice回调接收到PhysicalDeviceObject,因此您可以遍历整个堆栈。在我的过滤器驱动程序中,我试图确定我是否已经在过滤某个设备对象。(假设我对此有正当理由。请耐心等待。)我的想法是遍历堆栈中的每个DEVICE_OBJECT并将其DriverObject成员与我的进行比较。从IoGetAttachedDeviceReference的存在来看,我认为仅仅访问AttachedDevice并不是一件安全的事

windows - 将过滤器驱动程序安装到现有设备

我正在学习如何编写过滤器驱动程序,并尝试在现有的HID驱动程序(鼠标或键盘)上安装一个以进行练习。据我了解,我至少应该向硬件注册表项添加一个UpperFilters项。还有什么我应该做的吗?当我使用regedit手动将UpperFilters键添加到我的目标USB鼠标设备时,regedit提示它无法创建该键。我怀疑regedit不允许修改Windows提供的设备驱动程序堆栈注册表。是否有任何其他方法可以将我的筛选器驱动程序安装到现有设备堆栈? 最佳答案 默认情况下,Windows7不允许在HKLM\SYSTEM\CurrentCon

windows - 学习C++(Linux+QtCreator)应该升级到Windows+VisualC+VisualAssist吗?比较如何?

我是Linux的长期用户和“高级”Python程序员。我最近在周末有一些空闲时间,我开始学习C++。我正在使用QtCreator进行开发,因为它具有很好的功能,而且简单、快速,我还计划在未来编写Qt应用程序,所以如果我已经习惯了QtCreator这样的东西,它会很简单.我喜欢自动完成、体面的代码突出显示、视觉调试辅助等功能,以及这些现代功能,只要它们不妨碍我。但是,很多人告诉我,如果我真的喜欢这些功能,我应该使用VisualC++和VisualAssist(一种插件)。一个friend带着他的带有VisualStudio的笔记本来这里,我的第一印象是它太复杂了,屏幕上有成千上万的菜单和

c++ - 在 Windows 7 中交叉编译 C 和 C++ 应用程序,在 linux 下使用 MinGW

我在Windows7上安装了MinGW编译器,GCC版本是4.6.1。我有HelloWorld应用程序:#includeintmain(intargc,char*argv[]){printf("HelloWorld!");return0;}我如何使用MinGW编译器在Windows7下编译这个应用程序,以便我可以在linux中运行这个应用程序,而无需重新编译。 最佳答案 您需要在这里区分两个系统:build系统,即您的编译器运行所在的系统,以及host系统,即您的可执行文件将运行的系统运行。MinGW是主机系统Windows的GCC